package skyinline.JDBC;

import java.util.ArrayList;
import java.util.List;

public class J04_Collection {

	//	콜렉션( collection )
	//	객체지향 기반 프로그램 작성시 종종 같은 종류의 객체의 묶음(group)이나 다른 종류의
	//	객체묶음을 함께 쓰는 때가 있음
	
	//	앞서 배운 배열은 같은 종류의 객체 묶음이지만 유연성이 부족하고, 크리 조정도 안되고
	//	다른종류의 객체도 가질 수 없음
	
	//	다행히 자바에는 이러한 종류의 객체를 쉽게 다룰 수 있는 인터페이스와 클래스를 제공
	//	그것은 바로 Collection 프레임 워크임
	
	//	collection 은 다른 종류로 구성된 객체의 묶음을 의미
	//	또 다른 말로 용기(container) 라고도 하는데, 각 요소를 저장, 검색, 조작하는 메서드를 제공
	
	//	Collection <- Set, List, Queue
	//	List <- 'ArrayList', Vector
	//	Map <- AbstractMap, SorteMap
	//	AbstractMap <- 'HashMap'
	//	Iterator, Comparatoe
	
	//	이들 대부분은 java.util 패키지에 포진해 있음
	
	//	List - 동적 배열
	//	Collection 의 가장 인기있는 하위 인터페이스임
	//	ArrayList 는 List 의 가장 자주 사용하는 구현클래스
	//	List 는 자료를 순서대로 저장하는 특성을 가짐
	//	FIFO - First In First Out : 먼저 입력된 자료는 먼저 출력된다
	//	또한, 데이터를 중복으로도 저장가능
	//	단, Set 은 중복 허용 불가!
	//	add 메서드를 통해 데이터를 List 의 맨끝에 추가
	
	public static void main(String[] args) {
		
		List a = new ArrayList<>();
		a.add(1111);
		a.add('수');
		a.add(123.456);
		a.add("HelloWorld");
		a.add(new J03_MemberVO());
		
		System.out.println(a);
		
	}
}
